package com.springMVCStudy.config;

import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;

public class SpringMVCInit extends AbstractAnnotationConfigDispatcherServletInitializer {

    /*
    前两个重写的方法指定的配置类会在父类AbstractAnnotationConfigDispatcherServletInitializer类中被调用，
    用来创建ioc容器。第三个重写的方法会在爷爷类AbstractDispatcherServletInitializer中被调用。
    一旦项目服务器创建，此配置类会调用WebApplicationInitializer接口（此类的最上层的祖先接口）声明的onStart方法，
    进行创建ioc容器等初始化工作，onStart方法是在爷爷类中重写的，调用下面的三个重写的方法，具体看源码。
     */

    // 指定service / mapper层的配置类
    @Override
    protected Class<?>[] getRootConfigClasses() {
        return new Class[0];
    }

    // 指定springMVC的配置类
    @Override
    protected Class<?>[] getServletConfigClasses() {
        return new Class[] {MVCConfig.class};
    }


    // 设置DispatcherServlet的处理路径，一般情况下为"/"，代表处理所有请求
    @Override
    protected String[] getServletMappings() {
        return new String[] {"/"};
    }
}
